package com.xiaojimao.gr_user.vo.req;

import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;

import javax.validation.constraints.*;
import java.time.LocalDateTime;
import java.util.Date;

@Data
public class UserUpdate {

    /**
     * 用户id
     */
    @TableId
    private String id;

    /**
     * 昵称
     */
    @Size(max = 8)
    @Pattern(regexp = "^[\\w\\u4e00-\\u9fa5]{1,8}$", message = "昵称只能包含字母、数字、下划线和中文字符，并且限制昵称的长度为2到8个字符")
    private String nickName;

    /**
     * 密码
     * 必须包含至少一个字母（大写或小写）,包含至少一个数字,至少8个字符组成
     */
    @Pattern(regexp = "^(?=.[A-Za-z])(?=.\\d)[A-Za-z\\d]{8,}$", message = "必须包含至少一个字母（大写或小写）和包含至少一个数字和至少8个字符组成")
    private String password;


    /**
     * 邮箱
     */
    @Email
    private String email;

    /**
     * 性别 0 女 1 男 2 保密
     */
    private String gender;

    /**
     * 生日
     */
    private Date birthday;

    /**
     * 头像
     */
    private String avatar;

    /**
     * 简介
     */
    @Size(max = 50)
    private String introductory;

    /**
     * 背景图片
     */
    private String background;

    /**
     * 地区
     */
    private String area;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

}
